using System;
using System.Collections.Generic;

namespace nms.gaming.rng.model
{
	public interface IRandomNumberGenerator
	{
		IEnumerable<RandomNumber> GenerateRandom(int min, int max, int length, bool unique);

		IEnumerable<RandomNumber> GenerateRandomNumber(int min, int max, int length);

		IEnumerable<RandomNumberSet> GenerateRandomNumberSet(int min, int max, int length, int amount);

		int GenerateRandomSeed();

		int GenerateRandomSeed(int seed);

		IEnumerable<RandomNumber> GenerateRandomSequence(int min, int max, int length);

		IEnumerable<RandomNumberSet> GenerateRandomSequenceSet(int min, int max, int length, int amount);

		IEnumerable<RandomNumberSet> GenerateRandomSet(int min, int max, int length, bool unique);

		IEnumerable<RandomNumberSet> GenerateRandomSet(int min, int max, int length, bool unique, int amount);
	}
}